﻿using System.Collections.Generic;
using System.Linq;

namespace CDOP.Model
{
    public class CommonRepository
    {
        private readonly CDOPEntities _db=new CDOPEntities();

        #region Add Record Wizard Related
        public List<Gender> GetGenderDetails()
        {
            return _db.Gender.ToList();
        }

        public List<LocalAuthority> GetLocalAuthorityDetails()
        {
            return _db.LocalAuthority.ToList();
        }

        public List<WhyDeathIncluded> GetWhyDeathIncludedDetails()
        {
            return _db.WhyDeathIncluded.ToList();
        }

        public List<EthnicGroup> GetEthnicGroupDetails()
        {
            return _db.EthnicGroup.ToList();
        }

        public List<PriorLocation> GetPriorLocationDetails()
        {
            return _db.PriorLocation.ToList();
        }

        public List<PriorLocationIfHospital> GetPriorLocationIfHospitalDetails()
        {
            return _db.PriorLocationIfHospital.ToList();
        }

        public List<DeathExpected> GetDeathExpectedDetails()
        {
            return _db.DeathExpected.ToList();
        }

        public List<RapidResponse> GetRapidResponseDetails()
        {
            return _db.RapidResponse.ToList();
        }

        public List<NotifiedCauseofDeath> GetNotifiedCauseofDeathDetails()
        {
            return _db.NotifiedCauseofDeath.ToList();
        }

        public List<AsylumSeeker> GetAsylumSeekerDetails()
        {
            return _db.AsylumSeeker.ToList();
        }

        public List<PoliceInvestigation> GetPoliceInvestigationDetails()
        {
            return _db.PoliceInvestigation.ToList();
        }

        public List<PanelReviewComplete> GetPanelReviewCompleteDetails()
        {
            return _db.PanelReviewComplete.ToList();
        }

        public List<DeathExplained> GetDeathExplainedDetails()
        {
            return _db.DeathExplained.ToList();
        }

        public List<Preventability> GetPreventabilityDetails()
        {
            return _db.Preventability.ToList();
        }

        public List<ModifiableFactors> GetModifiableFactorsDetails()
        {
            return _db.ModifiableFactors.ToList();
        }

        public List<CategorizationofDeath> GetCategorizationofDeathDetails()
        {
            return _db.CategorizationofDeath.ToList();
        }

        public List<DeathEvent> GetDeathEventDetails()
        {
            return _db.DeathEvent.ToList();
        }

        public List<DeathSCR> GetDeathScrDetails()
        {
            return _db.DeathSCR.ToList();
        }

        public List<CDOPRecommendSCR> GetCdopRecommendScrDetails()
        {
            return _db.CDOPRecommendSCR.ToList();
        }

        public List<CDOPInstigateSCR> GetCdopInstigateScrDetails()
        {
            return _db.CDOPInstigateSCR.ToList();
        }

        public List<ProtectionPlan> GetProtectionPlanDetails()
        {
            return _db.ProtectionPlan.ToList();
        }

        public List<StatutoryOrder> GetStatutoryOrderDetails()
        {
            return _db.StatutoryOrder.ToList();
        }

        public List<DomesticViolence> GetDomesticViolenceDetails()
        {
            return _db.DomesticViolence.ToList();
        }

        public List<MultipleBirth> GetMultipleBirthDetails()
        {
            return _db.MultipleBirth.ToList();
        }

        public List<MedicalConditionsDeath> GetMedicalConditionsDeathDetails()
        {
            return _db.MedicalConditionsDeath.ToList();
        }

        public List<ModeofDeath> GetModeofDeathDetails()
        {
            return _db.ModeofDeath.ToList();
        }

        public List<ReportedCorner> GetReportedCornerDetails()
        {
            return _db.ReportedCorner.ToList();
        }

        public List<Inquest> GetInquestDetails()
        {
            return _db.Inquest.ToList();
        }

        public List<InquestComplete> GetInquestCompleteDetails()
        {
            return _db.InquestComplete.ToList();
        }

        public List<InquestVerdict> GetInquestVerdictDetails()
        {
            return _db.InquestVerdict.ToList();
        }

        public List<ReportedRegistra> GetReportedRegistraDetails()
        {
            return _db.ReportedRegistra.ToList();
        }

        public List<PostMortem> GetPostMortemDetails()
        {
            return _db.PostMortem.ToList();
        }

        public List<MedicalCertificateCauseofDeathIssued> GetMedicalCertificateCauseofDeathIssuedDetails()
        {
            return _db.MedicalCertificateCauseofDeathIssued.ToList();
        }

        public List<DelaysImpairmentsDisabilitiesDeath> GetDelaysImpairmentsDisabilitiesDeathDetails()
        {
            return _db.DelaysImpairmentsDisabilitiesDeath.ToList();
        } 

        #endregion

        public List<UserType> GetUserTypeDetails()
        {
            return _db.UserType.ToList();
        } 
    }
}